package com.siwei.mes.entity.tgl;

import com.siwei.mes.common.validator.bus.SyncGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;


/**
 * TGL-工程(TglProject)实体类
 *
 * @author linzi
 * @since 2023-12-07 20:52:47
 */
@Data
@Accessors(chain = true)
@Table(name = "tgl_project")
@ApiModel(value = "TglProject", description = "TGL-工程")
public class TglProject implements Serializable {
    private static final long serialVersionUID = 892505729625294410L;
    /**
     * 主键id
     */
    @Id
    @ApiModelProperty(value = "TGL-工程主键ID", name = "id")
    private Long id;

    /**
     * tgl工程id
     */
    @Column(name = "PROID")
    @ApiModelProperty(value = "tgl工程id", name = "proid")
    @NotNull(groups = {SyncGroup.class}, message = "tgl工程id为空")
    private Integer proid;

    /**
     * 合同ID
     */
    @Column(name = "CID")
    @ApiModelProperty(value = "合同ID", name = "cid")
    @NotNull(groups = {SyncGroup.class}, message = "合同ID为空")
    private Integer cid;
    /**
     * 工程名称
     */
    @Column(name = "projectName")
    @ApiModelProperty(value = "工程名称", name = "projectname")
    @NotBlank(groups = {SyncGroup.class}, message = "工程名称为空")
    private String projectname;
    /**
     * 工程地址
     */
    @Column(name = "projectAddress")
    @ApiModelProperty(value = "工程地址", name = "projectaddress")
    private String projectaddress;
    /**
     * 联系人
     */
    @Column(name = "projectLinkMan")
    @ApiModelProperty(value = "联系人", name = "projectlinkman")
    private String projectlinkman;
    /**
     * 联系人电话
     */
    @Column(name = "projectLinkTel")
    @ApiModelProperty(value = "联系人电话", name = "projectlinktel")
    private String projectlinktel;
    /**
     * 经度
     */
    @Column(name = "lng")
    @ApiModelProperty(value = "经度", name = "lng")
    private Double lng;
    /**
     * 纬度
     */
    @Column(name = "lat")
    @ApiModelProperty(value = "纬度", name = "lat")
    private Double lat;
    /**
     * 扩展信息
     */
    @Column(name = "extraInfo")
    @ApiModelProperty(value = "扩展信息", name = "extrainfo")
    private String extrainfo;
    /**
     * 创建时间
     */
    @Column(name = "createtTime")
    @ApiModelProperty(value = "创建时间", name = "createttime")
    private Date createttime;
    /**
     * 修改时间
     */
    @Column(name = "updateTime")
    @ApiModelProperty(value = "修改时间", name = "updatetime")
    private Date updatetime;
    /**
     * 工程区域
     */
    @Column(name = "projectArea")
    @ApiModelProperty(value = "工程区域", name = "projectarea")
    private String projectarea;
    /**
     * 砼行工程id
     */
    @Column(name = "thProjectId")
    @ApiModelProperty(value = "砼行工程id", name = "thprojectid")
    private Long thprojectid;
    /**
     * 同步时间戳
     */
    @Column(name = "synctime")
    @ApiModelProperty(value = "同步时间戳", name = "synctime")
    @NotNull(groups = {SyncGroup.class}, message = "同步时间戳为空")
    private Long synctime;
}
